草庐IT

Java do while, while

全部标签

java - 关闭 PreparedStatements

是否每次使用PreparedStatements和ResultSets都会创建一个“新的数据库实例”?或者,换句话说,如果我使用PreparedStatement和ResultSet,我应该在每次使用后关闭它们还是在使用完后关闭它们?例子:while(...){p=connection.prepareStatement(...);r=p.executeQuery();while(r.next()){....}}//Wecloseattheend.Orthereareanyotherpandrstillopened...?p.close();r.close();或while(...){p

java - Selenium - 无法启动 Selenium session : Failed to start new browser session: Error while launching browser

我是Selenium的新手。我生成了我的第一个javaselenium测试用例并且它已成功编译。但是当我运行该测试时,我得到了以下RuntimeExceptionjava.lang.RuntimeException:CouldnotstartSeleniumsession:Failedtostartnewbrowsersession:Errorwhilelaunchingbrowseratcom.thoughtworks.selenium.DefaultSelenium.start请告诉我如何解决这个错误。这是我要运行的java文件。importcom.thoughtworks.sel

java - while 循环中的扫描仪输入验证

我必须在while循环中显示Scanner输入:用户必须插入输入,直到他写下“退出”。所以,我必须验证每个输入以检查他是否写了“退出”。我该怎么做?while(!scanner.nextLine().equals("quit")){System.out.println("Insertquestioncode:");Stringquestion=scanner.nextLine();System.out.println("Insertanswercode:");Stringanswer=scanner.nextLine();service.storeResults(question,an

java - 在 Java 中执行 While 循环与 For 循环以进行计数

在计算时,应该使用do-while循环,还是for循环?因为:classMain{publicstaticvoidmain(String[]args){inttimes=1;do{System.out.println("Ihaveprinted"+times+"times.");times++;}while(times似乎在做与此完全相同的事情:classMain{publicstaticvoidmain(String[]args){for(inttimes=1;times速度有区别吗?偏爱?情况?个人怪癖?某种“Java社交禁忌”?我不知道。两者似乎都可以用于有效计数,只是需要更多。

java - 有什么更好的方法可以避免 do-while(false);破解Java?

当代码流程是这样的时候:if(check()){......if(check()){......if(check()){......}}}我通常看到这种解决方法可以避免这种困惑的代码流:do{if(!check())break;......if(!check())break;......if(!check())break;......}while(false);有哪些更好的方法可以避免这种变通办法/黑客攻击,使其成为更高级别(行业级别)的代码?是否有可能来自Apachecommons或GoogleGuava的结构?注意:这是thesamequestionforC++的副本.最好的答案是

java - while(true) ServerSocket Listen 的效率

我想知道典型的while(true)ServerSocket监听循环是否需要整个核心来等待并接受客户端连接(即使在实现可运行并使用Thread.start())我正在实现一种分布式计算集群,每台计算机都需要它拥有的每个核心来进行计算。主节点需要与这些计算机通信(调用修改算法功能的静态方法)。我需要使用套接字的原因是跨平台/跨语言的能力。在某些情况下,PHP将调用这些java静态方法。我使用了一个java分析器(YourKit),我可以看到我正在运行的ServerSocket监听线程,它从不hibernate并且一直在运行。有没有更好的方法来做我想做的事?或者,性能影响可以忽略不计吗?如

java - do-while 循环的范围?

在Java中,do-while循环体和循环条件不属于同一范围。所以下面的代码不会编译:do{booleanb=false;}while(b);//bcannotberesolvedtoavariable但这段代码对我来说确实有意义。此外,如果正文和条件在同一范围内,我找不到任何陷阱;因为主体总是会被执行,而Java没有Goto,所以我不知道如何跳过最外层do-while主体范围中的变量声明。即使有可能,编译器也总能检测到这种可能性,然后产生编译时错误。这种行为是否有任何原因(除了将do-while循环保持为与while相同的格式)?我真的很好奇。感谢您的任何意见!

java - NIO 选择器 : How to properly register new channel while selecting

我有一个子类化的Thread,它有一个私有(private)的Selector和一个允许其他线程的公共(public)register(SelectableChannelchannel,...)方法将channel注册到选择器。如回答here,channel的register()在选择器的select()/select(longtimeout)期间阻塞,所以我们需要wakeup()选择器。我的线程无限期地选择(除非它被中断)并且它实际上设法在channel的register()被调用之前进入下一个选择。所以我想我使用一个简单的锁和synchronizedblock来确保register

C/C++循环结构:do{} while()和while() do{}的区别

do{}while()和while()do{},它们看似相似,但却有着微妙的差异,这就是我们要揭示的奥秘。1.do{}while()-至少执行一次的保证首先,让我们来看看do{}while()。这个循环结构保证循环体至少执行一次。具体流程如下:首先,执行一次循环体。然后,检查循环条件是否为真。如果条件为真,继续执行循环体,然后再次检查条件。当条件为假时,退出循环。下面是一个简单的例子:do{//循环体printf("至少执行一次。\n");}while(condition);这种结构特别适用于需要确保循环体至少执行一次的情况。2. while()do{}-可能不执行的潜在风险现在,让我们转而研

for 与 while 循环中的 C++ 迭代器行为

我不明白为什么使用for循环遍历容器与使用while循环遍历容器产生不同的结果。下面的MWE用一个vector和一组5个整数来说明这一点。#include#include#includeusingnamespacestd;intmain(){vectorv;sets;//addintegers0..5tovectorvandsetsfor(inti=0;i::const_iteratoritv;for(itv=v.begin();itv!=v.end();itv++)cout::const_iteratorits;for(its=s.begin();its!=s.end();its++